<?php

class BaseService {

    /**
     * 基础服务层
     *
     * @return unknown
     */
    
    /**
     * @desc 检查数组参数
     * @param array $params
     * @return $params
     */
    public function checkParams (array $params) {
        if (count($params) < 1) {
            return array();
        }
        $tmpArray = array();
        foreach ($params as $k => $v) {
            $v = $this->checkParam($v);
            if (!$v) {
                continue;
            }
            $tmpArray[$k] = $v;
        }
        return $tmpArray;
    }

    /**
     * @desc 检查变量 适用于变量类型不明确的情况
     * @param unknown_type $value 需要检查的变量
     * @return $value
     */
    public function checkParam ($value) {
        $t = gettype($value);
        switch ($t) {
            case "string" :
                return htmlspecialchars($value);
                break;
            case "integer" :
                return intval($value);
                break;
            default :
                return $value;
                break;
        }
    }

    /**
     * @desc 过滤变量值 适用于变量类型明确的情况
     *
     * @param mix $value
     * @param string $t
     * @return $value
     */
    public function filterParam ($value, $t = 'int') {
        switch ($t) {
            case "string" :
                return ($t == 'string') ? trim($value) : '';
                break;
            case "int" :
                return ($t == 'int') ? intval($value) : 0;
                break;
            default :
                return NULL;
                break;
        }
    }

}
